I. Field of the Invention
The present invention relates to image processing. More particularly, the present invention relates to a novel and improved system and method for adaptively controlling the digital bit rate of compression in a video encoder.
II. Description of the Related Art
In the field of transmission and reception of television signals, various improvements are being made to the NTSC (National Television Systems Committee) System. Developments in the field of television are commonly directed towards Standard Definition Television (SDTV) and High Definition Television (HDTV) Systems.
Many of the proposed SDTV and HDTV systems make use of digital encoding techniques. Digitally encoded video offers many advantages over analog modulation. Digital encoding provides a robustness of the communications link to impairments such as multipath and jamming. Furthermore, digital techniques facilitate ease in signal encryption, necessary for military and many broadcast applications.
When first proposed, HDTV seemed impractical due to excessive bandwidth requirements. However, it has been realized that compression of digital HDTV signals may be achieved to a level that enables transmission at bandwidths comparable to that required by analog NTSC formats. Such levels of signal compression coupled with digital transmission of the signal will enable a HDTV system to transmit with less power with greater immunity to channel impairments.
One compression technique capable of offering significant compression while preserving the quality of SDTV and HDTV signals utilizes adaptively sized blocks and sub-blocks of encoded discrete cosine transform (DCT) coefficient data. The technique is disclosed in U.S. Pat. No. 5,021,891, entitled xe2x80x9cADAPTIVE BLOCK SIZE IMAGE COMPRESSION METHOD AND SYSTEMxe2x80x9d, assigned to the assignee of the present invention and incorporated by reference. DCT techniques are also disclosed in U.S. Pat. No. 5,107,345, entitled xe2x80x9cADAPTIVE BLOCK SIZE IMAGE COMPRESSION METHOD AND SYSTEMxe2x80x9d, assigned to the assignee of the present invention and incorporated by reference. Further, U.S. Pat. No. 5,452,104, entitled xe2x80x9cADAPTIVE BLOCK SIZE IMAGE COMPRESSION METHOD AND SYSTEMxe2x80x9d, is also assigned to the assignee of the present invention and incorporated by reference.
Techniques that offer substantial levels of compression often make use of variable-length encoding schemes. In variable-length encoding, different samples of a signal are quantized using different lengths of codewords. The coder is generally designed based on the theoretical or measured statistics of an image to minimize the overall reconstruction error. By exploiting the probability distribution of the characteristics in an image, high compression ratios are achievable.
Although variable-length encoding may provide for high compression ratios, it also causes the complication of a non-constant encoded data rate. Variable-length encoding generally produces long codewords for image areas with high details, and short codewords for image areas with low details. When variable-length encoding is used to encode video, different frames of the video may be encoded with different lengths of codewords. These codewords need to be transmitted through a communications channel at a predetermined bit rate. Further, in applications such as SDTV and HDTV systems, the codewords must be transmitted to the decoder at a rate which will permit for reconstruction of the frames of the video without fluctuations in the frame rate.
A rate buffer has been used to maintain the rate of transmission of the encoded data bits. However, the use of a buffer does not by itself solve the problem of fluctuations in the decoded frame rate. Further, buffer overflow may result when one frame of video has been encoded with long codewords which exceed the capacity of the buffer, resulting in loss of information. Consequently, rate control for video compression is necessary. These problems and deficiencies are clearly felt in the art and are solved by the present invention in the manner described below.
The present invention is a novel and improved system and method for controlling the encoded data rate in a video compression procedure. When video is compressed, different segments of the video may be encoded with different lengths of codewords. In order to transmit the codewords through a communications channel at a constant rate while maintaining the reliability of the encoder, control of the encoded bit rate is necessary. The present system and method accomplishes rate control by setting up alternative encoded bit streams for each segment of the video and selecting the alternative that would produce a bit rate closest to a predetermined target bit rate. The target bit rate is selected based on the rate buffer status.
In accordance with the present invention, an adaptive data rate controller which comprises a plurality of quantizers is disclosed. The rate controller receives as input a block of a video data, and the same block of video data is presented to each of the quantizers. Each quantizer quantizes the samples of the input according to a different weighting mask function to produce a block of quantized coefficients. Each weighting mask function is identified by a quantization index. A weighting mask function is designed to emphasize certain samples of the input and de-emphasize other samples by weighting the samples differently. Thus, the corresponding quantized samples of the different blocks of quantized coefficients may have different values as a result of having been weighted differently.
The adaptive rate controller also comprises a plurality of encoders. Each encoder receives one of the blocks of quantized coefficients, and produces a stream of variable-length encoded coefficients. Because each block of quantized coefficients has been processed by a different weighting function, the samples of each block may be encoded with different lengths of codewords. As a result, each stream of variable-length encoded coefficients may have a code length distinct from the others.
The variable-length encoded streams are presented to a selector, while the total bit rates required for transmitting each of the variable-length encoded streams are determined and presented to a comparator. The total bit rates are proportional to the sum of the code lengths of the encoded streams. The comparator compares each of the total bit rates with a predetermined target bit rate in order to determine the rate closest to the target. The selector then selects the variable-length encoded stream which would yield a bit rate closest to the predetermined target, and presents this stream to a rate buffer in preparation for transmission.
Now that the current block of video signal has been processed, the rate controller prepares to process the next block of video signal by updating the weighting mask functions. A quantization index update element selects a new set of quantization indices from which the weighting mask functions are derived. The new quantization indices are selected based on a model of rate versus quantization index and an updated target bit rate.
A model element derives the model of rate versus quantization index. The model is derived from the rate and quantization index data from the current block of video signal. Thus, the quantization indices used for the current block of video and the corresponding bit rates are used to derive the model. The updated target bit rate is derived by a target bit rate update element based on the rate buffer fullness level after processing the current block of video input. The updated target bit rate is selected so as to maintain a constant flow of data through the rate buffer as well as to prevent rate buffer overflow. Based on the model and the updated target bit rate, one new quantization index is the index which would yield the updated target bit rate as indicated by the model. Other new quantization indices will generally be functions of the already designated new quantization index.
After the weighting mask functions have been updated, the adaptive rate controller of the present invention begins processing the next block of video input.